home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Disc to the Future 2
/
Disc to the Future Part II Programmer's Reference (Wayzata Technology)(6013)(1992).bin
/
MAC
/
THINKC
/
4_0
/
JS_MATH_
/
JS_GENER.H
next >
Wrap
Text File
|
1990-11-21
|
7KB
|
181 lines
/* CONSTANTS */
#define JS_PI 3.14159265358979
#define JS_TwoPI 6.28318530717959
#define JS_TRUE 1
#define JS_FALSE 0
#define JS_SUPPRESS 0
#define JS_NO_SUPPRESS 1
#define JS_FATAL_ERROR "\pA fatal error has occurred. Control returned to the Finder."
#define JS_ERROR_ALERT_ID 500
#define JS_NIL_STRING "\p"
#define JS_NIL_POINTER 0L
#define JS_MOVE_TO_FRONT -1
#define JS_COMPLETE_DIALOG 18001
#define JS_COMPLETE_TEXT 1
#define JS_COMPLETE_TITLE 2
#define JS_STD_HIGHLIGHT 1
#define JS_CONE_HEIGHT 0
#define JS_CONE_LENGTH 1
#define JS_FRUSTUM_HEIGHT 0
#define JS_FRUSTUM_LENGTH 1
#define JS_BEGIN -1
#define JS_ALL 0
#define JS_END 1
/* MACROS */
#define JS_MIN(a,b) (((a) < (b)) ? (a) : (b))
#define JS_MAX(a,b) (((a) > (b)) ? (a) : (b))
#define JS_SQUARE(x) ((x) * (x))
#define JS_CUBE(x) ((x) * (x) * (x))
#ifdef _H_stdlib
#define JS_RANDOM(x) (rand() % ((x) + 1))
#define JS_RANDOM_2(a,b) (rand() % ((b) - (a) + 1) + (a))
#endif
/* STRUCTURES */
typedef struct JS_Complex
{
double re;
double im;
} JS_Complex;
/* PROTOTYPES */
JS_Complex JS_Complex_Add( JS_Complex, JS_Complex );
JS_Complex JS_Complex_Sub( JS_Complex, JS_Complex );
JS_Complex JS_Complex_Mult( JS_Complex, JS_Complex );
JS_Complex JS_Complex_Div( JS_Complex, JS_Complex );
JS_Complex JS_Complex_Num( double, double );
double JS_Complex_Abs( JS_Complex );
JS_Complex JS_Complex_Conjugate( JS_Complex );
JS_Complex JS_Complex_Sqrt( JS_Complex );
JS_Complex JS_Double_Complex_Mult( double, JS_Complex );
JS_Complex JS_Complex_Exp( JS_Complex );
void JS_Fatal_Error_Handler(char *);
void JS_Error_Handler(char *);
long JS_Get_Dialog_Long( DialogPtr, int, long );
void JS_Put_Dialog_Long( DialogPtr, int, long, char );
double JS_Get_Dialog_Double( DialogPtr, int, double );
void JS_Put_Dialog_Double( DialogPtr, int, double, char );
int JS_Get_Dialog_Integer( DialogPtr, int, int );
void JS_Put_Dialog_Integer( DialogPtr, int, int, char );
float JS_Get_Dialog_Float( DialogPtr, int, float );
void JS_Put_Dialog_Float( DialogPtr, int, float, char );
char * JS_Get_Dialog_Text( DialogPtr, int, char * );
void JS_Put_Dialog_Text( DialogPtr, int, char *, char );
void JS_Do_Binary_Control( DialogPtr, int );
void JS_Center_Alerts( AlertTHndl );
void JS_Current_Device_Size( int *, int * );
void JS_Center_Window (WindowPtr);
void JS_Highlight_Button (DialogPtr, int);
double JS_Triangle_Area_BH( double, double );
double JS_Triangle_Area_BCA( double, double, double );
double JS_Deg_to_Rad( double );
double JS_Rad_to_Deg( double );
double JS_Trapazoid_Area( double, double, double );
double JS_Circle_Area( double );
double JS_Circle_Circumference( double );
double JS_Circle_Sector_Length( double, double );
double JS_Circle_Sector_Area( double, double );
double JS_Prism_Volume_Bh( double, double );
double JS_Prism_Volume_ABC( double, double, double );
double JS_Cylinder_Volume( double, double );
double JS_Cylinder_Lateral_SA( double, double );
double JS_Cylinder_Total_SA( double, double );
double JS_Pyramid_Volume( double, double );
double JS_Cone_Volume( double, double, short );
double JS_Cone_Lateral_SA( double, double, short );
double JS_Cone_Total_SA( double, double, short );
double JS_Frustum_Cone_Volume( double, double, double, short );
double JS_Frustum_Cone_LSA( double, double, double, short );
double JS_Frustum_Cone_TSA( double, double, double, short );
double JS_Sphere_Volume( double );
double JS_Sphere_SA( double );
void JS_Add_Vectors_No_Destroy( double *, double *, double *, short, short, short );
void JS_Add_Vectors( double *, double *, short, short, short );
double JS_Vector_Magnitude( double *, short, short );
void JS_Normalize_Vector( double *, short, short );
char JS_Vector_Compare( double *, double *, short, short, double );
void JS_Add_Matrices( double **, double **, short, short, short, short, short );
void JS_Add_Matrices_No_Destroy( double **, double **, double **, short, short, short, short, short );
void JS_Multiply_Matrices( double **, double **, double **, short, short, short, short );
char JS_Handle_Eigenvalue( double **, int, double *, char );
double JS_Matrix_Determinant( double **, int );
void JS_Matrix_Inverse( double **, double **, int );
void JS_Solve_Linear_System( double **, double *, int );
void JS_Matrix_Transpose( double **, int );
float * JS_Float_Vector( long, long, char );
char * JS_Char_Vector( long, long, char );
int * JS_Int_Vector( long, long, char );
long * JS_Long_Vector( long, long, char );
double * JS_Double_Vector( long, long, char );
void JS_Free_Float_Vector( float *, long, long );
void JS_Free_Int_Vector( int *, long, long );
void JS_Free_Long_Vector( long *, long, long );
void JS_Free_Double_Vector( double *, long, long );
void JS_Free_Char_Vector( char *, long, long );
float ** JS_Float_Matrix( long, long, long, long, char );
double ** JS_Double_Matrix( long, long, long, long, char );
int ** JS_Int_Matrix( long, long, long, long, char );
long ** JS_Long_Matrix( long, long, long, long, char );
char ** JS_Char_Matrix( long, long, long, long, char );
void JS_Free_Float_Matrix( float **, long, long, long, long );
void JS_Free_Double_Matrix( double **, long, long, long, long );
void JS_Free_Int_Matrix( int **, long, long, long, long );
void JS_Free_Long_Matrix( long **, long, long, long, long );
void JS_Free_Char_Matrix( char **, long, long, long, long );
void JS_Array_Find_Float(float *, int, float, int *);
void JS_Array_Find_Double(double *, int, double, int *);
void JS_Array_Find_Int(int *, int, int, int *);
void JS_Array_Find_Long(long *, int, long, int *);
void JS_Heap_Sort_Double( double *, int );
void JS_Heap_Sort_Float( float *, int );
void JS_Heap_Sort_Integer( int *, int );
void JS_Heap_Sort_Long( long *, int );
void JS_Index_Double_Array( int, double *, int * );
void JS_Index_Float_Array( int, float *, int * );
void JS_Index_Integer_Array( int, int *, int * );
void JS_Index_Long_Array( int, long *, int * );
void JS_Quick_Sort_Int( int *, int );
void JS_Quick_Sort_Float( float *, int );
void JS_Quick_Sort_Double( double *, int );
void JS_Quick_Sort_Long( long *, int );
void JS_Alphabetize( char **, int, int );
void JS_Char_Strip( char *, char, short );
void JS_String_Strip( char *, char * );
void JS_String_Insert( char *, char *, short );
double JS_Sign( double, double );
double JS_Max( double, double );
double JS_Min( double, double );
double JS_Mod( double, double );
double JS_Min_Array( double *, int );
double JS_Max_Array( double *, int );
double JS_Square( double );
double JS_Cube( double );
double JS_General_Log( long, double );
void JS_Pop_Sci_Notation( double, double *, long * );
void JS_Push_Sci_Notation( double, long, double * );
char JS_Check_Command_Period( EventRecord * );
void JS_Init_Scale_Dialog( DialogPtr, char );
void JS_Update_Scale_Dialog( DialogPtr, long, long );
void JS_Kill_Scale_Dialog( DialogPtr );